// //按需导入mapGetters这个辅助方法
// import {
//   mapGetters
// } from 'vuex'

// export default {
//   computed: {
//     //将m_cart模块中total映射为当前页面的计算属性
//     ...mapGetters('m_cart', ['total'])
//   },
//   // 页面初次展示、从后台切换到前台显示或者重入页面时，这个函数就会被触发。
//   onShow() {
//     //在页面刚展示的时候 调用设置数字徽标的方法
//     this.setBadge()
//   },
//   methods: {
//     setBadge() {
//       //设置数字徽标的setTabBarBadge的API
//       // 调用 uni.setTabBarBadge() 方法，为购物车设置右上角的徽标
//       uni.setTabBarBadge({
//         index: 2, //2是tabBar中购物车的下标
//         // 注意：text 的值必须是字符串，不能是数字
//         text: this.total + '',
//       })
//     }
//   }
// }

import {
  mapGetters
} from 'vuex'

export default {
  computed: {
    ...mapGetters('m_cart', ['total'])
  },
  watch: {
    //监听total值
    total() {

      // 变化就调用这个方法 重新赋值
      this.setBadge()
    }
  },
  onShow() {
    this.setBadge()
  },
  methods: {
    setBadge() {
      if (this.total == 0) {
        // 当角标数字为 0 时，移除角标
        wx.removeTabBarBadge({
          index: 2,
          success() {
            // 强制刷新 TabBar
            wx.hideTabBarRedDot({
              index: 2
            });
            console.log('移除 TabBar 角标成功');
          },
          fail(err) {
            console.error('移除 TabBar 角标失败', err);
          }
        });
      }
      uni.setTabBarBadge({
        index: 2,
        text: this.total + ''
      })
    }
  }
}